#ifndef __GAME_ENGINE_H__
#define __GAME_ENGINE_H__
#include <string>
#include <boost/asio.hpp>
#include "network/GameClient.h"
#include <Ogre.h>
class NetworkListener;
class Player;

class GameEngine{
public:
    void run_server(unsigned short int port);
    void run_client(Player& player,std::string ip,unsigned short int port);
    void add_network_listener(NetworkListener* listener);
    void update();

    GameEngine();
    ~GameEngine();
private:
	void run_server_thread(unsigned short int port);
    boost::asio::io_service io_service_client;
    boost::asio::io_service io_service_server;
    GameClient game_client;
};

#endif
